//package oc.tm.sg.admin.web.service.impl;
//
//import java.util.ArrayList;
//import java.util.Collection;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import oc.tm.sg.admin.govern.domain.SgServer;
//import oc.tm.sg.admin.web.service.ServersService;
//import oc.tm.sg.core.util.NetUtils;
//
///**
// * 服务器控制器
// * @author lry
// */
//public class ServersServiceImpl implements ServersService {
//
//	/**
//	 * 服务器列表
//	 * @return
//	 */
//    public List<SgServer> getServers() {
//        List<SgServer> rows = new ArrayList<SgServer>();
//        Collection<ExchangeServer> servers = DubboProtocol.getSgProtocol().getServers();
//        if (servers != null && servers.size() > 0) {
//            SgServer dubboServer;
//            for (ExchangeServer server : servers) {
//                dubboServer = new SgServer();
//                dubboServer.setAddress(server.getUrl().getAddress());
//                dubboServer.setPort(server.getUrl().getPort());
//                dubboServer.setHostname(NetUtils.getIpByAddress(dubboServer.getAddress()));
//                dubboServer.setClientCount(server.getExchangeChannels().size());
//
//                rows.add(dubboServer);
//            }
//        }
//        return rows;
//    }
//
//    /**
//     * 客户端列表
//     * @param port
//     * @return
//     */
//    public Map<String,List<String>> clients(int port) {
//    	Map<String,List<String>> map=new HashMap<String,List<String>>();
//        Collection<ExchangeServer> servers = SgProtocol.getSgProtocol().getServers();
//
//        ExchangeServer server = null;
//        String serverAddress = "";
//        if (servers != null && servers.size() > 0) {
//            for (ExchangeServer s : servers) {
//                int sp = s.getUrl().getPort();
//                if (port == 0 && server == null || port == sp) {
//                    server = s;
//                    serverAddress = NetUtils.getHostName(s.getUrl().getAddress()) + "/" + s.getUrl().getAddress();
//                }
//            }
//        }
//
//        List<String> rows = new ArrayList<String>();
//        if (server != null) {
//            Collection<ExchangeChannel> channels = server.getExchangeChannels();
//            for (ExchangeChannel c : channels) {
//                String address = NetUtils.toAddressString(c.getRemoteAddress());
//                rows.add(NetUtils.getHostName(address) + "/" + address);
//            }
//        }
//
//        map.put(serverAddress, rows);
//        
//        return map;
//    }
//}
